home *** CD-ROM | disk | FTP | other *** search
- unit ListViewEgU;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- ComCtrls, StdCtrls;
-
- type
- TForm1 = class(TForm)
- ListView1: TListView;
- ListBox1: TListBox;
- procedure ListView1Changing(Sender: TObject; Item: TListItem;
- Change: TItemChange; var AllowChange: Boolean);
- procedure ListView1Change(Sender: TObject; Item: TListItem;
- Change: TItemChange);
- private
- FListItem: TListItem;
- FChecked: Boolean;
- end;
-
- var
- Form1: TForm1;
-
- implementation
-
- {$R *.DFM}
-
- procedure TForm1.ListView1Changing(Sender: TObject; Item: TListItem;
- Change: TItemChange; var AllowChange: Boolean);
- begin
- if Change = ctState then
- begin
- FListItem := Item;
- FChecked := Item.Checked
- end
- end;
-
- procedure TForm1.ListView1Change(Sender: TObject; Item: TListItem;
- Change: TItemChange);
- const
- BooleanIdents: array [Boolean] of string = ('False', 'True');
- begin
- if (Change = ctState) and (Item = FListItem) and
- (Item.Checked <> FChecked) then
- //A checkbox has been toggled
- begin
- ListBox1.Items.Add(Format('Item %d (%s): Checked = %s',
- [Item.Index, Item.Caption, BooleanIdents[Item.Checked]]));
- ListBox1.ItemIndex := ListBox1.Items.Count - 1
- end
- end;
-
- end.
-